Computer networks facilitate communication between computers, and between computers and stand-alone peripherals. They make possible large scale computing systems, distributed service systems, and a whole host of applications that would otherwise be infeasible. Thus, incentives exist for the use and enhancement of computer network technology. As computer networks increase in speed and size, they require more sophisticated protocols to ensure fast and reliable communications. Network configuration and supervision are increasingly important parts of these protocols.
Storage area networks (SANs) are a popular type of computer network. SANs are networks of stand-alone data storage devices (e.g. disk drives). The SAN is usually a sub-network of a larger computer network that includes servers and personal computers. The advantages of SANs include having a large, shared storage capacity that has a high bandwidth access and does not have to be accessed through a server.
Many SANs rely on the Fibre Channel (FC) protocol. A single FC link can carry data at rates exceeding 2 gigabits per second (Gb/s) in both directions simultaneously. The FC protocol defines standard media and signaling conventions for transporting data in a serial fashion. It also provides an error correcting channel code and a frame structure for transporting the data. Further, the FC protocol sets out a buffer-credit-based flow control methodology, and creates some common services (e.g. fabric controller, name server). The FC protocol can be applied to various network topologies including point-to-point, ring, and switched fabric. Further details regarding the FC protocol can be found online at www.fibrechannel.org.
Switched fabric topologies are networks of switches that interconnect end-node devices. Well-designed switches provide at least some degree of automatic configurability. For example, they may automatically sense when a new link is connected to the switch, and may initiate an initialization process to discover what the link connects to. The switch may automatically determine various parameters for the link (e.g. link speed). Other parameters, however, have a more global effect and may not be automatically configurable by the switch. Examples may include zone names, domain names, port names, port identifier lengths, time-out values, security settings, interoperability modes, and long-distance modes. When the link connects switches in two otherwise separately operating fabrics, a mismatch in any of these parameters will prevent communication over the link. Network segmentation is the term for this phenomena: a physically connected network operating as multiple, separate fabrics. (As used herein, the term “fabric” refers to the internal logic view of a network as seen by the switches, while the term “network” refers to a physically-connected set of switches.)
As FC networks are created, updated, maintained and de-commissioned, switches may be enabled, disabled or reconfigured, and links may be added or removed. In effect, networks may split and recombine. Fabric segmentation may occur and be resolved. For large networks, such changes may be expected to be ongoing occurrences. To aid in the administration of FC networks, a network management software package might desirably be used to track the status and membership of network fabrics as they are created, altered and destroyed by changes to the network(s). Such a software package would desirably provide a deterministic method for identifying and tracking fabrics, identifying and tracking switches, and performing fabric membership monitoring. Such a package would preferably be capable of accommodating indeterminate fabric states which may be encountered during periods of automatic discovery and configuration by switches.